const { src, dest, watch, series } = require("gulp");

const babel = require("gulp-babel"); // npm i gulp-babel @babel/core -D  以及预设 npm i @babel/preset-env -D
const uglify = require("gulp-uglify"); // 压缩 丑化 好久没更新了
const terser = require("gulp-terser");

const jsTask = () => {
  // 从src中读取文件, 输出到dist文件夹中
  return (
    src("./src/**/*.js")
      .pipe(babel({ presets: ["@babel/preset-env"] }))
      // .pipe(uglify())
      .pipe(terser({ mangle: { toplevel: true } })) // terser()不变代码的压缩，terser({ mangle: { toplevel: true } })真正的压缩
      .pipe(dest("./dist"))
  );
};

watch("./src/**/*.js", jsTask);
// watch("./src/**/*.js", series());这样进行多个任务处理

module.exports = {
  jsTask,
};
